/**
 * Created by jiachenpan on 16/11/18.
 */
import da from 'element-ui/src/locale/lang/da'

function parseToDate(longTime) {
    //时间戳为10位需*1000，时间戳为13位的话不需乘1000
    let time
    if (typeof longTime === 'string') {
        time = Number.parseInt(longTime)
    } else {
        time = longTime
    }

    if (('' + time).length === 10) time = parseInt(time) * 1000
    let date = new Date(time)
    let year = date.getFullYear(),
            month = ('0' + (date.getMonth() + 1)).slice(-2),
            sdate = ('0' + date.getDate()).slice(-2),
            hour = ('0' + date.getHours()).slice(-2),
            minute = ('0' + date.getMinutes()).slice(-2),
            second = ('0' + date.getSeconds()).slice(-2)
    // 拼接
    let result = year + '-' + month + '-' + sdate + ' ' + hour + ':' + minute + ':' + second
    // 返回
    return new Date(result)
}

/**
 * <p>格式化日期</p>
 * <p>f：格式</p>
 * <p>ds：为number类型的毫秒 或 date类型的日期和字符串</p>
 * */
export function formatDate(ds, f) {

    let date
    if (typeof ds === 'string') {
        date = new Date(ds)
    } else if (typeof ds === 'number') {
        date = parseToDate(ds)
    } else {
        date = da
    }
    let ret
    const opt = {
        'y+': date.getFullYear().toString(),        // 年
        'M+': (date.getMonth() + 1).toString(),     // 月
        'd+': date.getDate().toString(),            // 日
        'H+': date.getHours().toString(),           // 时
        'm+': date.getMinutes().toString(),         // 分
        's+': date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
    }
    for (let k in opt) {
        ret = new RegExp('(' + k + ')').exec(f)
        if (ret) {
            f = f.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')))
        }

    }

    return f
}

export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path)
}
